#! /bin/bash
export LANG=zh_CN.UTF-8
HIVE_HOME=/usr/bin/hive


${HIVE_HOME} -S -e "

-- 创建事实表
-- 创建事实表 学生打卡记录表
DROP TABLE if exists edu_online_dwd.fact_tbh_student_signin_record;
create table edu_online_dwd.fact_tbh_student_signin_record
(
    id                string comment '主键id',
    normal_class_flag tinyint comment '是否正课 1 正课 2 自习',
    time_table_id     string comment '作息时间id 关联tbh_school_time_table 或者 tbh_class_time_table',
    class_id          string comment '班级id',
    student_id        string comment '学员id',
    signin_time       string comment '签到时间',
    inner_flag        tinyint comment '内外网标志  0 外网 1 内网',
    signin_type       tinyint comment '签到类型 1 心跳打卡 2 老师补卡',
    share_state       tinyint comment '共享屏幕状态 0 否 1是  在上午或下午段有共屏记录，则该段所有记录该字段为1，内网默认为1 外网默认为0 ',
    inner_ip          string comment '内网ip地址'
)comment '学生打卡记录表'
partitioned by (signin_date string comment '签到日期')
row format delimited fields terminated by '\t'
stored as orc
tblproperties ('orc.compress' = 'SNAPPY');

-- 创建事实表 学生请假申请表
DROP TABLE if exists edu_online_dwd.fact_student_leave_apply;
create table edu_online_dwd.fact_student_leave_apply
(
    id              string,
    class_id        string comment '班级id',
    student_id      string comment '学员id',
    audit_state     tinyint comment '审核状态 0 待审核 1 通过 2 不通过',
    audit_person    string comment '审核人',
    audit_time      string comment '审核时间',
    audit_remark    string comment '审核备注',
    leave_type      tinyint comment '请假类型  1 请假 2 销假',
    leave_reason    tinyint comment '请假原因  1 事假 2 病假',
    begin_time      string comment '请假开始时间',
    begin_time_type tinyint comment '1：上午 2：下午',
    end_time        string comment '请假结束时间',
    end_time_type   tinyint comment '1：上午 2：下午',
    days            string comment '请假/已休天数',
    cancel_state    tinyint comment '撤销状态  0 未撤销 1 已撤销',
    cancel_time     string comment '撤销时间',
    old_leave_id    string comment '原请假id，只有leave_type =2 销假的时候才有',
    leave_remark    string comment '请假/销假说明',
    valid_state     tinyint comment '是否有效（0：无效 1：有效）',
    create_time     string comment '创建时间'
)comment '学生请假申请表'
row format delimited fields terminated by '\t'
stored as orc
tblproperties ('orc.compress' = 'SNAPPY');"
